草庐IT

[linux-sd-webui]api化之训练lora

全部标签

c++ - 如何在运行时检查 Win API 函数支持?

如何在运行时检查函数GetSystemTimePreciseAsFileTime是否受运行时支持? 最佳答案 使用著名的GetProcAddress查找函数的存在,像这样typedefvoid(WINAPI*FuncT)(LPFILETIMElpSystemTimeAsFileTime);HINSTANCEhDLL=LoadLibrary(L"Kernel32.dll");FuncTGetSystemTimePreciseAsFileTime=(FuncT)GetProcAddress((HMODULE)hDLL,L"GetSyst

windows - 通过 API Windows Firewall Delphi 添加规则阻止 IP 地址

下午好。没有人面对在Delphi中添加Windows防火墙规则的问题吗?我需要限制来自特定IP地址的传入和传出连接。此代码在启动时向我抛出一个应用程序错误:ExceptionEVariantInvalidOpErrorinmoduleProject1.exeat00033E74.Invalidvariantoperation.有没有人有什么错误?procedureTForm1.FormCreate(Sender:TObject);ConstNET_FW_IP_PROTOCOL_TCP=6;NET_FW_IP_PROTOCOL_UDP=17;NET_FW_ACTION_ALLOW=1;N

c++ - typedef 一个可在 Windows 和 Linux 上使用的 C++ 函数

我在Windows(WIN32API)中有一些庞大的C++代码库,现在我也想将它移植到Linux。但是,更改代码并不是一个好主意,因为对于Linux和Windows,将有两个文件拷贝。相反,我的想法是,拥有一个包含所有WIN32特定声明到Linux声明的typedef的头文件,并适本地包含它。#ifdef__gnu_linux__#include"linuxCPPTypeDef.h"#endiflinuxCPPTypeDef.h将包含typedefunsignedintDWORD;等到这里为止一切都很好。棘手的部分是..我的代码在很多地方使用标准的min函数,但g++不理解它(需要st

c++ - 如果路径包含符号链接(symbolic link),Windows API 获取文件属性?

我使用了_stat64(constchar*path,struct__stat64*buffer);API来获取文件/目录统计信息,但如果输入路径包含符号链接(symboliclink),则此API会失败。如果文件路径包含符号链接(symboliclink),GetFileAttributes()和GetFileAttributesEx()API也会失败。但正如MSDN中所述,如果路径指向一个符号链接(symboliclink),这两个函数返回符号链接(symboliclink)的属性。如果路径指向符号链接(symboliclink),甚至_stat64()也能工作。如果路径包含[no

linux - Win32 InterlockedIncrement 和 InterlockedExchange 是跨进程的原子吗?

MSDN说互锁函数提供了一种简单的机制来同步访问由多个线程共享的变量。如果变量在进程的共享内存中,我不确定它们是否跨多个进程的线程工作。同样,GNUGCC编译器内部函数又如何:__sync_add_and_fetch和__sync_lock_test_and_set? 最佳答案 这个问题本质上是两个不同答案的两个问题。对于GCC中的__sync_XXX内置函数,答案是肯定的。引用任何在线文档,如this,在描述的地方,这些内置通常会发出完整的屏障,甚至可以防止处理器管道内的内部推测负载。每个和所有多线程、多进程等共享内存对它们都是安

linux - cygwin 二进制 exec 格式错误

我有一个脚本文件,可以使用Cygwin在Windows中运行。当我尝试使用此文件时出现以下错误-bash:/sigdet/filename:cannotexecutebinaryfile:Execformaterror.sigdet是我拥有脚本的Cygwin目录中的文件夹。Rawdata是包含脚本应该分析的原始数据文件的目录的名称。为了尝试解决这个问题,我更改了文件权限,我已经检查以确保它在64位机器上并且脚本似乎是在64位机器上编译的。完成这些步骤后,我不知道还有什么问题。以下是我输入的命令:我首先像这样更改了目录:$cd/sigdet/然后我运行了支持工作的脚本:$/sigdet/

windows - 是否可以在 Windows 上运行 linux docker 镜像

我在我的mac上构建了一个docker镜像并将其保存到一个tar(客户端的windows服务器无法访问外部世界,所以我需要将这个文件传输给他们)。据我所知,在Windows机器上,我可以使用VirtualBox安装docker工具箱,然后我可以启动DockerQuickStartTerminal,这将启动一个docker机器,它本质上是一个linuxVM。那么,是否可以在windows机器上运行这个docker镜像,是否特定于某些版本的windows?感谢您的宝贵时间! 最佳答案 这取决于你所说的在Windows上运行是什么意思,是

c++ - Windows API 钩子(Hook) C++

我正在学习为WindowsAPI编写Hook,为了练习,我正在为pDeleteFileA函数编写Hook。当调用该函数时,在删除文件之前我想检查文件名是否为“testfile.txt”,如果是,则不会删除它,而是会弹出一条消息,如果它调用了其他内容,则继续删除文件。我已经编写了一些代码并且代码编译没有任何错误,但是当我尝试删除“testfile.txt”时,它只是被删除了。也许有人可以给我提示我做错了什么或没有做什么?到目前为止,这是我的代码:#includestructhook_t{//adatatypetostoreinformationaboutourhookboolisHook

linux - sockaddr_in 和 sockaddr_in6 还在使用 sin_len 和 sin6_len 吗?

所以,标题基本上说明了一切。我一直在将我的unix套接字C代码移植到Windows,显然这些结构在Windows中没有sin_len或sin6_len。我在各处使用sockaddr_storage、sockaddr_in和sockaddr_in6之间的联合,并且只是根据ss_family使用正确的成员。套接字库可以根据系列推导出大小是有道理的,因此长度字段确实是多余的。如果我注释掉设置长度字段的代码,在OSX和Linux上一切仍然有效,但这可能只是一种错觉,所以我决定在这里问一下。该变量是否已以某种方式弃用?我可以安全地停止使用它,并依靠套接字实现来使用family变量吗?

python - 将文件夹从服务器(Linux)复制到python中的本地机器(windows)

如何在python中将文件夹从服务器(linux)复制到本地计算机(windows)。我尝试了给定的代码,但没有成功fromdistutils.dir_utilimportcopy_treecopy_tree("source_path","destination_path")我使用copy_tree命令在我的本地计算机上复制文件夹,但是当我使用相同的命令将文件夹从服务器复制到本地计算机时,它不起作用。还有其他方法吗?或者需要什么改变? 最佳答案 您需要使用SSH、SCP或SFTP在主机之间传输文件。我经常这样做并且喜欢使用SSH和S